OpenCV图像的读取与写入 | 您所在的位置:网站首页 › open images output directory › OpenCV图像的读取与写入 |
「这是我参与2022首次更文挑战的第4天,活动详情查看:2022首次更文挑战」 前言无论在任何类型的计算机视觉任务中,处理图像或视频都是其中的核心要素,绝大多数计算机视觉都会使用图像或视频作为数据输入的形式。此外,任何项目都应该可以在完成任何类型的处理后生成一些数据,这些数据可以以图像或者其它类型形式的输出。在计算机视觉中,由于这些类型的项目(例如,要处理的图像为输入、由机器学习算法生成的模型处理信息、输出目标信息)的固有特性,因此项目的信息流(输入——处理——输出)间也具有特殊的相关性。 在本节中,我们将首先学习使用 OpenCV 处理构建计算机视觉应用程序所必需的图像。 在 OpenCV 中读取图像以下示例 load_image.py 展示了如何使用函数 cv2.imshow() 加载图像: import argparse import cv2 parser = argparse.ArgumentParser() parser.add_argument("path_image", help="path to input image to be displayed") args = parser.parse_args() image = cv2.imread(args.path_image) args = vars(parser.parse_args()) image2 = cv2.imread(args["path_image"]) cv2.imshow("loaded image", image) cv2.imshow("loaded image2", image2) cv2.waitKey(0) cv2.destroyAllWindows() 复制代码在这个例子中,必需的参数是 path_image,它是我们要加载的图像的路径。利用 args.path_image 和 args["path_image"] 都可以获取图像的路径(从参数中获取值的两种不同方式),然后将它们用作 cv2.imread() 函数的参数。 通过在命令行中执行以下命令,运行脚本: python load_image.py sigonghuiye.jpeg 复制代码可以看到运行结果如以下屏幕截图所示: 以下示例 write_image.py 展示了如何使用函数 cv2.imshow() 加载图像: import argparse import cv2 parser = argparse.ArgumentParser() parser.add_argument("path_image", help="path to input image to be displayed") parser.add_argument("path_image_output", help="path of the processed image to be saved") args = parser.parse_args() image = cv2.imread(args.path_image) args = vars(parser.parse_args()) cv2.imwrite(args["path_image_output"], image) cv2.waitKey(0) cv2.destroyAllWindows() 复制代码上述示例中,执行脚本需要的参数是 path_image 和 path_image_output,它们分别是我们要加载的图像的路径以及图像要保存的路径。 通过在命令行中执行以下命令,运行脚本: python load_image.py sigonghuiye.jpeg copy_image.jpg 复制代码运行结束后就可以在工作目录中,看到保存的 copy_image.jpg. 计算机视觉项目处理流程示例计算机视觉项目的常见处理流程是加载图像,执行某种处理,最后输出这个处理过的图像。处理后的图像可以保存到磁盘或者进行展示。为了对计算机视觉项目处理流程有一个完整的认识,在下面的示例中,介绍了这三个步骤(加载、处理和保存)。为了简单起见,处理步骤仅将图像转换为灰度图像,接下来编写脚本 load_processing_save_image.py: import argparse import cv2 parser = argparse.ArgumentParser() parser.add_argument("path_image_input", help="path to input image to be displayed") parser.add_argument("path_image_output", help="path of the processed image to be saved") args = vars(parser.parse_args()) image_input = cv2.imread(args["path_image_input"]) cv2.imshow("loaded image", image_input) gray_image = cv2.cvtColor(image_input, cv2.COLOR_BGR2GRAY) cv2.imshow("gray image", gray_image) cv2.imwrite(args["path_image_output"], gray_image) cv2.waitKey(0) cv2.destroyAllWindows() 复制代码上述示例中,执行脚本需要两个必需的参数。第一个是 path_image_input,它表示要加载的图像的路径。第二个是 path_image_output,它表示要保存的结果图像的路径。处理步骤仅将加载的图像转换为灰度图像: gray_image = cv2.cvtColor(image_input, cv2.COLOR_BGR2GRAY) 复制代码需要注意的是,cv2.cvtColor 函数第二个参数 cv2.COLOR_BGR2GRAY 假定加载的图像是 BGR 彩色图像。如果已经加载了 RGB 彩色图像并且想要将其转换为灰度,则应该使用 cv2.COLOR_RGB2GRAY。 通过在命令行中执行以下命令,运行脚本: python load_processing_save_image.py gray_image.png 复制代码可以看到运行结果如以下屏幕截图所示,同时,在运行结束后就可以在工作目录中,看到保存的灰度图像 gray_image.jpg: OpenCV图像处理基础 OpenCV中的坐标系与图像通道顺序 OpenCV读取和修改图像像素值 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |